<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>情形二：使用 cgi.force_redirect</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="security.cgi-bin.default.html">« 情形一：只运行公开的文件</a></li>
      <li style="float: right;"><a href="security.cgi-bin.doc-root.html">情形三：设置 doc_root 或 user_dir »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="security.cgi-bin.html">以 CGI 模式安装时</a></li>
    <li>情形二：使用 cgi.force_redirect</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="security.cgi-bin.force-redirect" class="sect1">
    <h2 class="title">情形二：使用 <code class="literal">cgi.force_redirect</code></h2>
    <p class="simpara">
     配置指令 <a href="ini.core.html#ini.cgi.force-redirect" class="link">cgi.force_redirect</a>
     可以防止任何人通过如
     <var class="filename">http://my.host/cgi-bin/php/secretdir/script.php</var>
     这样的 URL 直接调用 PHP。PHP 在此模式下只会解析已经通过了
     web 服务器的重定向规则的 URL。
    </p>
    <p class="simpara">
     通常 Apache 中的重定向设置可以通过以下指令完成：
    </p>
    <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode">Action php-script /cgi-bin/php
AddHandler php-script .php</pre>
</div>
    </div>

    <p class="simpara">
     此选项只在 Apache 下进行过测试，并且要依赖于 Apache
     在重定向操作中所设置的非标准 CGI 环境变量
     <var class="envar">REDIRECT_STATUS</var>。如果 web
     服务器不支持任何方式能够判断请求是直接的还是重定向的，就不能使用这个选项，而应该用其它方法。请看下一节。
    </p>
   </div></div></div></body></html>